<?php
// +----------------------------------------------------------------------
// | saithink [ saithink快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: sai <1430792918@qq.com>
// +----------------------------------------------------------------------
namespace app\api\basic;

use app\api\logic\WechatUserLogic;

use app\api\exception\ApiException;
use plugin\saiadmin\basic\BaseLogic;
use plugin\saiadmin\utils\Arr;
use support\Request;
use support\Response;
use WechatUser;

/**
 * 基类 控制器继承此类
 */
class BaseController
{

    /**
     * 当前登陆管理员信息
     */
    protected $userInfo;

    /**
     * 当前登陆管理员ID
     */
    protected $userId;

    /**
     * 当前登陆管理员账号
     */
    protected $userName;

    /**
     * 逻辑层注入
     */
    protected $logic;

    /**
     * 验证器注入
     */
    protected $validate;

    /**
     * 默认主键
     */
    protected $pk = 'id';

    /**
     * 构造方法
     * @access public
     */
    public function __construct()
    {
         $this->validate = new \think\Validate();
      
        // 控制器初始化
        // $this->init();
    }

    /**
     * 成功返回json内容
     * @param array|string $data
     * @param string $msg
     * @return Response
     */
    public function success(array | string $data = [], string $msg = 'success'): Response
    {
        if (is_string($data)) {
            $msg = $data;
        }
        return json(['code' => 200, 'message' => $msg, 'data' => $data]);
    }

    /**
     * 失败返回json内容
     * @param string $msg
     * @return Response
     */
    public function fail(string $msg = 'fail'): Response
    {
        return json(['code' => 400, 'message' => $msg]);
    }

    
    /**
     * 初始化
     */
    // public function init($loginRequired = true)
    // {
    //     // 检查默认请求类型
       
           
    //     $logic = new WechatUserLogic();
    //     $result = getCurrentInfo();

    //     if (!$result && $loginRequired) {
           
             
    //             throw new ApiException('用户信息读取失败,请重新登录', 401);
    //     }
    //     if($result){
          
    //         $this->userId = $result['id'];
    //         $this->userName = $result['nickname'];
    //         $this->userInfo = $logic->find($result['id']);
         
      
             
    //         // 用户数据传递给逻辑层
    //         $this->logic && $this->logic->init($this->userInfo);
    //     }     
	
      
       
    // }

}
